'use strict';

const height = [4, 2, 3];

function trap(height) {}

// function trap(height) {
//   // 双循环双指针从左端开始，第二指针起始位置比第一指针多一位
//   // 第一指针指向能装水的一边，第二指针从右边一位开始移动，找到大于等于第一边长的柱子则停下
//   // 此时计算两边之中能装水的面积，更新area的值
//   // 更新第一指针为第二指针指向的柱子下标，重复第二步
//   // 循环结束返回area
//   let n = height.length;
//   let index = 0;
//   let area = 0;

//   // 第一指针指向左端，最多移动到n-1位
//   for (let i = 0; i < n - 1; i++) {
//     // 若柱子高度为0则直接跳过
//     if (height[i] === 0) continue;
//     // 第二指针指向第一指针右一位，触底则结束
//     for (let j = i + 1; j < n; j++) {
//       if (height[j] >= height[i]) {
//         if (j - i === 1) break;
//         area += (j - i - 1) * height[i];
//         for (let m = i + 1; m < j; m++) {
//           area -= height[m];
//         }
//         i = j - 1;
//         break;
//       }
//     }
//   }

//   return area;
// }

// console.log(trap(height));
